JpaRepository এর save(), findById(), findAll(), deleteById() মেথডের ব্যবহার

Java Technologies - স্প্রিং বুট জেপিএ (Spring Boot JPA) - Spring Boot JPA এর মাধ্যমে CRUD অপারেশন
321

Spring Data JPA একটি শক্তিশালী লাইব্রেরি যা JPA (Java Persistence API) ব্যবহার করে ডাটাবেস অপারেশনকে সহজ এবং কার্যকর করে। Spring Data JPA এর JpaRepository ইন্টারফেসটি CRUD (Create, Read, Update, Delete) অপারেশন সহ অন্যান্য ডাটাবেস অপারেশন সমর্থন করে। এর মধ্যে গুরুত্বপূর্ণ কিছু মেথড হলো save(), findById(), findAll(), এবং deleteById(), যা Spring Boot JPA প্রজেক্টে ডাটাবেসের সাথে যোগাযোগ করতে ব্যবহৃত হয়।

এই টিউটোরিয়ালে আমরা JpaRepository ইন্টারফেসের মাধ্যমে এই মেথডগুলির ব্যবহার নিয়ে বিস্তারিত আলোচনা করব।


JpaRepository ইন্টারফেস

JpaRepository হল একটি Spring Data JPA ইন্টারফেস যা CrudRepository এবং PagingAndSortingRepository ইন্টারফেসগুলো এক্সটেন্ড করে। এটি CRUD (Create, Read, Update, Delete) অপারেশনসহ আরও অনেক ফিচার সরবরাহ করে, যেমন পেজিনেশন, সোর্টিং, কাস্টম কুয়েরি ইত্যাদি।

JpaRepository এর সাধারণ সাইনেচার:

public interface JpaRepository<T, ID> extends PagingAndSortingRepository<T, ID> {
    // Additional custom methods can be defined here
}

এখানে, T হল Entity ক্লাস এবং ID হল Entity এর primary key টাইপ।


১. save() মেথড

save() মেথড ব্যবহার করা হয় একটি Entity (বা Bean) সংরক্ষণ করতে, যদি Entity এর id না থাকে তবে এটি নতুন রেকর্ড তৈরি করে এবং যদি id থাকে তবে এটি সেই রেকর্ডটি আপডেট করে।

save() মেথডের ব্যবহার:

public interface EmployeeRepository extends JpaRepository<Employee, Long> {
    // JpaRepository automatically provides save() method
}

Employee Entity ক্লাস:

@Entity
public class Employee {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private String department;

    // Constructors, Getters, Setters
}

Usage Example:

@Autowired
private EmployeeRepository employeeRepository;

public void saveEmployee() {
    Employee employee = new Employee();
    employee.setName("John Doe");
    employee.setDepartment("IT");
    employeeRepository.save(employee);  // Saving the employee entity
}

save() মেথডটি employee Entity কে ডাটাবেসে সংরক্ষণ করবে। যদি Entity এর id থাকে, এটি আপডেট হবে, নতুবা নতুন Entity ইনসার্ট হবে।


২. findById() মেথড

findById() মেথড ব্যবহার করে আপনি ডাটাবেস থেকে একটি নির্দিষ্ট ID-তে থাকা Entity রেকর্ডটি খুঁজে পেতে পারেন। এটি একটি Optional রিটার্ন করে, যা null বা Entity অবজেক্ট হতে পারে, যদি Entity পাওয়া না যায়।

findById() মেথডের ব্যবহার:

public Optional<Employee> findEmployeeById(Long id) {
    return employeeRepository.findById(id);
}

Usage Example:

public void getEmployeeById() {
    Optional<Employee> employee = employeeRepository.findById(1L);
    if (employee.isPresent()) {
        System.out.println(employee.get().getName());
    } else {
        System.out.println("Employee not found");
    }
}

findById() মেথডটি Optional রিটার্ন করে, যা আপনি চেক করতে পারেন যে Employee অবজেক্টটি পাওয়া গেছে কিনা।


৩. findAll() মেথড

findAll() মেথড ব্যবহার করে আপনি ডাটাবেসের সব রেকর্ড একসাথে পেতে পারেন। এটি একটি List অথবা Iterable অবজেক্ট রিটার্ন করে, যা সমস্ত Entity রেকর্ড ধারণ করে।

findAll() মেথডের ব্যবহার:

public List<Employee> getAllEmployees() {
    return employeeRepository.findAll();
}

Usage Example:

public void getAllEmployees() {
    List<Employee> employees = employeeRepository.findAll();
    for (Employee employee : employees) {
        System.out.println(employee.getName() + " - " + employee.getDepartment());
    }
}

findAll() মেথডটি ডাটাবেস থেকে সব Employee রেকর্ড ফেরত দেবে এবং আপনি সেগুলি প্রসেস করতে পারবেন।


৪. deleteById() মেথড

deleteById() মেথড ব্যবহার করে আপনি একটি নির্দিষ্ট ID-এর Entity রেকর্ড ডিলিট করতে পারেন। এটি void রিটার্ন টাইপের মেথড, অর্থাৎ এটি কোনও মান ফেরত দেয় না।

deleteById() মেথডের ব্যবহার:

public void deleteEmployee(Long id) {
    employeeRepository.deleteById(id);
}

Usage Example:

public void deleteEmployeeById() {
    Long id = 1L;
    employeeRepository.deleteById(id);
    System.out.println("Employee with ID " + id + " deleted");
}

deleteById() মেথডটি নির্দিষ্ট id দিয়ে ডাটাবেস থেকে Employee রেকর্ডটি মুছে ফেলবে।


সারাংশ

  • save(): একটি নতুন Entity তৈরি বা বিদ্যমান Entity আপডেট করতে ব্যবহৃত হয়।
  • findById(): একটি নির্দিষ্ট ID দিয়ে Entity খুঁজে বের করতে ব্যবহৃত হয় এবং এটি Optional রিটার্ন করে।
  • findAll(): সমস্ত Entity রেকর্ড একসাথে খুঁজে বের করতে ব্যবহৃত হয়।
  • deleteById(): একটি নির্দিষ্ট ID দিয়ে Entity ডিলিট করতে ব্যবহৃত হয়।

Spring Data JPA এর JpaRepository ইন্টারফেস এই সাধারণ CRUD অপারেশনগুলির জন্য বিল্ট-ইন সমাধান প্রদান করে। এটি Spring Boot অ্যাপ্লিকেশনে ডাটাবেস অপারেশন পরিচালনা করার জন্য অত্যন্ত সহজ এবং কার্যকরী।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...